Scientific Linux 6
Sponsored Link

Run with Clamav - SquidClamav
2011/03/21
 
Install SquidClamav and Configure Proxy Server in order to scan download files to protect from virus. Install Clamav first.
[1] Install Clamd
[root@lan ~]#
yum --enablerepo=rpmforge -y install clamd
 
# install from RPMforge
[root@lan ~]#
/etc/rc.d/init.d/clamd start

Starting Clam AntiVirus Daemon:
[ OK ]

[root@lan ~]#
chkconfig clamd on
[2] Install c-icap
[root@lan ~]#
wget http://ftp.jaist.ac.jp/pub/sourceforge/c/project/c-/c-icap/c-icap/0.1.x/c_icap-0.1.6.tar.gz

[root@lan ~]#
tar zxvf c_icap-0.1.6.tar.gz

[root@lan ~]#
cd c_icap-0.1.6

[root@lan c_icap-0.1.6]#
./configure

[root@lan c_icap-0.1.6]#
[root@lan c_icap-0.1.6]#
make install

[root@lan c_icap-0.1.6]#
[root@lan ~]#
cp /usr/local/etc/c-icap.conf /etc

[root@lan ~]#
vi /etc/c-icap.conf
# line 140: change admin address

ServerAdmin
root@srv.world
# line 149: change to your server name

ServerName
lan.srv.world
# line 497: add

Service squidclamav squidclamav.so
[root@lan ~]#
vi /etc/rc.d/init.d/c-icap
# create init script
#!/bin/bash

# c-icap: Start/Stop c-icap
# chkconfig: - 70 30
# description: c-icap is an implementation of an ICAP server.
# processname: c-icap
# pidfile: /var/run/c-icap/c-icap.pid

. /etc/rc.d/init.d/functions
. /etc/sysconfig/network

CONFIG_FILE=/etc/c-icap.conf
PID_DIR=/var/run/c-icap

RETVAL=0
start() {
   echo -n $"Starting c-icap: "
   daemon /usr/local/bin/c-icap -f $CONFIG_FILE
   RETVAL=$?
   echo
   [ $RETVAL -eq 0 ] && touch /var/lock/subsys/c-icap
   return $RETVAL
}
stop() {
   echo -n $"Stopping c-icap: "
   killproc c-icap
   rm -f /var/run/c-icap/c-icap.ctl
   RETVAL=$?
   echo
   [ $RETVAL -eq 0 ] && rm -f $PID_DIR/c-icap.pid /var/lock/subsys/c-icap
   return $RETVAL
}
case "$1" in
   start)
      start
   ;;
   stop)
      stop
   ;;
   status)
      status c-icap
   ;;
   restart)
      stop
      start
   ;;
   *)
      echo $"Usage: $0 {start|stop|status|restart}"
   exit 1
esac
exit $?

[root@lan ~]#
chmod 755 /etc/rc.d/init.d/c-icap

[3] Install SquidClamav ( Download latest version of it from the following link )
http://sourceforge.net/projects/squidclamav/files/squidclamav/
[root@lan ~]#
wget http://ftp.jaist.ac.jp/pub/sourceforge/s/project/sq/squidclamav/squidclamav/6.2/squidclamav-6.2.tar.gz

[root@lan ~]#
tar zxvf squidclamav-6.2.tar.gz

[root@lan ~]#
cd squidclamav-6.2

[root@lan squidclamav-6.2]#
./configure

[root@lan squidclamav-6.2]#
[root@lan squidclamav-6.2]#
make install

[root@lan squidclamav-6.2]#
[root@lan ~]#
vi /etc/squidclamav.conf
# line 17: change( destination URL for redirect. Create it first )

redirect
http://www.srv.world/error.html
# line 25: change( same with clamd )

clamd_local
/var/run/clamav/clamd.sock
[root@lan ~]#
/etc/rc.d/init.d/c-icap start

Starting c-icap:
[ OK ]

[root@lan ~]#
chkconfig --add /etc/rc.d/init.d/c-icap

[root@lan ~]#
chkconfig c-icap on

[4] Configure Squid
[root@lan ~]#
vi /etc/squid/squid.conf
# add at the last line

icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Authenticated-User
icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all
[root@lan ~]#
/etc/rc.d/init.d/squid restart

Stopping squid: ................[ OK ]
Starting squid: .[ OK ]
[5] Try to access to a page that has trial virus from here.
http://www.eicar.org/anti_virus_test_file.htm
Click 'eicar.com' and rty to download it. Then, the error page that is set in the config of squidclamav. Virus is blocked normally.
 
 
Tweet